ASP.NET Core-এ Custom Validation এবং Client-Side Validation গুরুত্বপূর্ণ ভূমিকা পালন করে ডেটা ইনপুটের সঠিকতা নিশ্চিত করতে। এই দুটি বৈশিষ্ট্য ব্যবহারকারীদের ভুল ইনপুট শনাক্ত করতে এবং সেই অনুযায়ী সঠিক রেসপন্স প্রদান করতে সাহায্য করে।
Custom Validation ব্যবহারকারীর ইনপুট যাচাই করার জন্য বিশেষ ধরনের লজিক তৈরি করার সুযোগ দেয়। যদি আপনি একটি সাধারণ Data Annotations বৈশিষ্ট্যের মাধ্যমে যাচাই করতে না পারেন, তখন কাস্টম ভ্যালিডেশন তৈরি করতে হবে।
ASP.NET Core-এ কাস্টম ভ্যালিডেশন তৈরি করতে IValidatableObject ইন্টারফেস বা Custom Validation Attributes ব্যবহার করা হয়।
public class User
{
[Required]
public string Name { get; set; }
[CustomEmailValidator]
public string Email { get; set; }
}
public class CustomEmailValidator : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
var email = value as string;
if (!string.IsNullOrEmpty(email) && !email.Contains("@"))
{
return new ValidationResult("Invalid email format.");
}
return ValidationResult.Success;
}
}
এই কোডে, CustomEmailValidator
একটি কাস্টম ভ্যালিডেশন অ্যাট্রিবিউট, যা নিশ্চিত করে যে ইমেইল ঠিকভাবে ফরম্যাট করা হয়েছে। যদি তা না হয়, তবে একটি কাস্টম এরর মেসেজ দেখানো হবে।
public class User : IValidatableObject
{
public string Name { get; set; }
public string Email { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (!Email.Contains("@"))
{
yield return new ValidationResult("Invalid email format.", new[] { "Email" });
}
}
}
এখানে, Validate
মেথডে কাস্টম লজিক প্রয়োগ করা হয়েছে, যেখানে ইমেইল ফরম্যাট যাচাই করা হচ্ছে।
Client-Side Validation হলো সেরকম একটি পদ্ধতি যেখানে ব্যবহারকারীর ইনপুট যাচাই করা হয় ক্লায়েন্ট সাইডে (যেমন JavaScript ব্যবহার করে) সার্ভারে পাঠানোর আগে। এটি ফর্মের দ্রুত ইনপুট যাচাইয়ের জন্য ব্যবহৃত হয়, এবং ব্যবহারকারীকে ত্রুটি মেসেজ তাড়াতাড়ি দেখানো যায়, যা সার্ভারের বোঝা কমাতে সহায়তা করে।
ASP.NET Core ফ্রেমওয়ার্কে jQuery Validation সরঞ্জাম ব্যবহার করে ক্লায়েন্ট-সাইড ভ্যালিডেশন সহজে কার্যকর করা যায়।
<form id="userForm">
<input type="text" name="email" id="email" required />
<input type="submit" value="Submit" />
</form>
$(document).ready(function() {
$('#userForm').validate({
rules: {
email: {
required: true,
email: true
}
},
messages: {
email: {
required: "Please enter your email.",
email: "Please enter a valid email address."
}
}
});
});
এখানে, validate()
মেথডটি ইমেইল ফিল্ডের জন্য ক্লায়েন্ট-সাইড ভ্যালিডেশন প্রয়োগ করেছে, যাতে শুধুমাত্র বৈধ ইমেইল প্যাটার্ন গ্রহণ করা হয়।
Custom Validation ব্যবহারকারীর নির্দিষ্ট ইনপুট যাচাই করতে কাস্টম লজিক প্রয়োগ করতে সহায়তা করে, যা ডেটা সঠিকতার জন্য অত্যন্ত গুরুত্বপূর্ণ। অপরদিকে, Client-Side Validation ব্যবহারকারীর ইনপুট দ্রুত যাচাই করতে এবং ত্রুটি বার্তা দেখাতে সহায়তা করে, সার্ভারের উপর বোঝা কমিয়ে দ্রুত ফিডব্যাক প্রদান করে। দুটোই একসাথে ব্যবহার করলে ডেটা সঠিকভাবে ইনপুট গ্রহণ এবং প্রক্রিয়াকরণের নিশ্চয়তা পাওয়া যায়।
common.read_more